Asynchronous Transfer Mode (ATM) is an emerging network technology that is designed to transport information between communicating stations in a point-to-point fashion. The interest in ATM is its promise of high bandwidths and quality of service. ATM is a connection oriented architecture, in contrast to network architectures that are structured to broadcast data from the source to the destination. In ATM, the source negotiates a connected path to the destination before it proceeds to transmit its information to the recipient. ATM protocols (or "rules," usually implemented in software) define the communications necessary to establish the connection. An ATM attached device has an ATM address in addition to any other network addresses it might have, depending on the particular ATM configuration within which it is incorporated. Some possible configurations will be described subsequently. Once a connection is established, the source station transmits its data only to the destination (a "unicast").
In contrast to connection oriented architectures are broadcast networks. In these, data is sent from a source station to a destination station by broadcasting it to all addresses where the recipient plucks it off the network while the other stations on the network ignore traffic not bound for them. Broadcast architectures provide one motivation for structuring a "network" as a set of interconnected subnetworks or "subnets."
In a large network, the proliferation of broadcast packets would overwhelm the network. Another simply reflects the nature of the pattern of growth of network communication generally. Although a particular network may start out as a freestanding Local Area Network (LAN), eventually end-station users will probably want to avail themselves of the services available on other networks, and look to connect "their network" with other "networks." When this occurs, it is intuitive, as well as more precise, to view the resulting network structure as a set of subnets within a larger network, for example, an "internetwork." However, a station on one internetworking subnet that wishes to communicate with a destination on another subnet can only do so if there is connectivity between the subnet in which the source resides and the subnet in which the destination resides.
Communications methodologies between subnets are usually termed to as "layer-3" protocols. This refers to the layered architecture networking model of the International Standards Organization (ISO). This model is illustrated in FIG. 1. Layer-3 may sometimes be referred to as the "network" layer, and is equivalent to the "internetworking" layer in the TCP/IP model.
Connectivity between layer-3 subnets is provided by a device termed a "router." When a source station on one layer-3 subnet wishes to communicate with a destination station on another layer-3 subnet, it broadcasts the data in the usual way. However, now it is the router that plucks the data packets off the first subnet and forwards it to the destination station via the destination station's layer-3 subnet to which the router is also attached.
Numerous types of networks coexist in the data communications industry. In addition to ATM, there may be LANs, Wide Area Networks (WANs), and others. There is a need in the industry for interconnection between different network architectures and, in particular, users of preexisting LANs have a need to connect to emerging high speed network technologies, such as ATM. The need for incorporating or interfacing preexisting networks (more precisely subnetworks) into an ATM environment has led to the specification of several methodologies to support preexisting network architectures within ATM.
One such methodology is the Logical IP Subnetwork (LIS). In LIS, the ATM serves as the direct replacement for the "wires" and LAN segments connecting traditional "layer-3 " protocol source and destination stations (collectively, end-stations) and routers. In the traditional internetworking architecture, one or more LANs may be grouped into internetworking, or layer-3 , subnetworks, hereafter referred to as "subnets." Within a layer-3 subnetwork, end-stations communicate with each other by broadcasting traffic as described previously.
A LIS is simply a layer-3 subnet within an ATM network. When a station on one LIS wishes to communicate with another station in the same LIS it does so by using ATM protocols. In order to do this, it must learn the ATM address of the destination. It does this through the medium of an ATM Address Resolution Protocol Server which resolves the layer-3 address of the destination into its ATM address. The source station sends a request, an ATM Address Resolution Protocol request (ATMARP_Request), to a server in the LIS that provides the ATM address of the destination based on its layer-3 address. The layer-3 address is the address by which the destination is identified with respect to its internetworking subnet. By contrast, communication between a source on one LIS and a destination on a second LIS proceeds just as if the communicating devices were traditional LANs residing on different internetwork subnets. The traffic is sent to a router based on the layer-3 address of the destination. The router then forwards the data through the appropriate destination LIS, or to a second router if the router on the source LIS is not a member of the destination LIS.
Another methodology is the emulated LAN (ELAN) which simulates classical LAN protocols in an ATM environment. (Classical LAN protocols, for example Ethernet and Token Rings, are referred to as legacy LANs.) The protocols that provide the specification for ELANs are called LAN emulation (LANE). Layer-3 protocols run on top of ELANs just as they do in legacy LANs. Hosts attached to the ELAN include emulation software that allows them to simulate legacy LAN end stations. Such hosts are called LAN Emulation Clients (LEC). The LEC software hides the ATM from the LAN protocols within the LEC device, and a LEC can utilize those protocols as if it were a legacy LAN. A LEC can also provide a standard LAN service interface to a layer-3 entity in the same layer-3 subnet. Such a LEC is a LAN Switch that is usable to interface a legacy LAN with an ELAN.
Communication between LECs on an ELAN can be effected over the ATM. Each LEC has a physical, or Media Access Control (MAC) address associated with it, as well as an ATM address. For one LEC on a ELAN to communicate with another, it must obtain the ATM address of the destination LEC, given the destination MAC address. This address resolution is mediated through a LAN Emulation Server (LES). The source LEC issues a LANE Address Resolution Protocol Request (LE_ARP_Request) to the LES. Provided the destination station has previously registered its MAC address, ATM address pair with the LES serving the ELAN, the LES returns the ATM address of the destination to the requesting LEC in an ELAN Address Resolution Protocol Reply (LE_ARP_Reply). The source LEC can then use the ATM address to establish a connection to unicast data to the destination, a so-called data-direct Virtual Channel Connection (VCC), and transmit its data to the destination thereon.
Should the destination not have registered with the LES, the source communicates with the destination using conventional LAN methodology. This is mediated through a Broadcast and Unknown Server (BUS). The LEC sends its data to the BUS which then broadcasts it. Just as in a legacy LAN, the broadcast data is plucked from the network by the destination station, and is ignored by the other devices on the network. Exactly the same process is used if the destination is on a subnetwork, either a legacy LAN or an ELAN, in a different layer-3 subnet. In that case, the broadcast data is gathered by a router connected to the ELAN and forwarded via layer-3 protocols to the destination, as described hereinabove, just as if the ELAN were a legacy LAN. An ELAN forming a layer-3 subnetwork will be referred to as an ELAN IP subnetwork (or, equivalently, subnet).
Communication between a LIS attached station and an ELAN attached station must also proceed by router-connected paths. Without a mechanism for resolving the ATM address of a destination station, a source station attached to a LIS cannot exploit the ATM network to which it is attached, and data packets are sent to a router connecting the layer-3 subnets which forwards them via layer-3 protocols to the layer-3 subnet in which the destination station resides. The routed path through the network may involve forwarding the data from source to destination through one or more routers. A forwarding event will hereinafter be referred to as a "hop." Having data proceed from the source to the destination in this way, via a series of hops, thus subverts the benefits of the ATM switched infrastructure because the source station is not exploiting the ATM connection-oriented infrastructure.
A method in the art to bypass a hop is provided by the Next Hop Resolution Protocol (NHRP). NHRP is a protocol that allows a source station, such as a host, connected to an ATM subnetwork to determine the ATM address of the next hop associated with a destination station. The next hop may be the destination station itself or a router "nearest" the destination station that provides egress from the ATM network to, an LAN attached destination host, for example. An NHRP client is a device that has NHRP functionality, or capability, included in the software it contains, and initiates requests to access NHRP service. NHRP service is provided by an NHRP server (NHS), an entity having NHRP functionality performing NHRP services. NHRP is presently part of the specification for Multiprotocol Over ATM, Version 1.0. NHRP is Annex C, ATM Forum, AF-MPOA-0087.000, July 1997, prior art hereby incorporated herein by reference.
A source that is an NHRP client within a LIS or an ELAN IP subnetwork can bypass a hop provided the destination meets three requirements. The destination must support NHRP, it must support a Virtual Channel Connection (VCC) as defined by Request for Comments 1483 (RFC-1483), and the destination must support the NHRP registration function for NHRP clients. Unless the destination satisfies all of these, the NHRP will not bypass hops. RFC-1483 is prior art, and is hereby incorporated by reference herein.
Thus, there is a need in the art for a method by which an NHRP client in a LIS or an ELAN IP subnetwork may bypass one or more hops when the destination fails to meet all of the aforesaid conditions. One such instance occurs when one of the communicating devices is a LAN Emulation (LANE) version-1 client. In ATM networks, a set of services, functional units and protocols are provided that define a standard for LANE. LANE version-1 does not support RFC-1483 VCCs. However, the need is not limited to such a situation. The method of bypassing a hop should be able to exploit the high speed switching characteristics of the ATM infrastructure by establishing a direct layer-2 connection between the NHRP client and the LAN (legacy or emulated) destination. Moreover, in the case of an ELAN destination, the method should be independent of the implemented LANE version.